var url_sistema = "./GestionFacadeWebUsuarios";
var persona_empresa = [];
var persona_empresa_cargo = [];
var persona_empresa_profesion = [];
var persona_empresa_nombres = [];
var documento_codigo = [];
var documento_nombre = [];
var unidad_codigo = [];
var unidad_nombre = [];
var unidad_direct = [];
var firma_codigo = [];
var firma_informacion = [];
var firma_tipo_usuario = [];
var mail_usuario = [];
var mail_usuario_codigo = [];
var mail_usuario_informacion =[];
var parametros_url = [];
var opcion_realizar="";
var codigo_documento;
var codigo_largo;
head.ready(function() {
    var opts = {
            cssClass : 'el-rte',
            lang     : 'es',
            height   : 200,
            width   : 800,
            toolbar  : 'maxi',
            cssfiles : ['css/arte-editor/elrte-inner.css']
        }
        $('#dv_txt_contenido').elrte(opts);
    codigo_largo ="";
    codigo_documento="";
    $.ajaxSetup({
        cache: false
    });
    $(".proyCheck_emp").live('click', selItem );
    $(".proyCheck_docu").live('click', selItem_docu );
    $(".proyCheck_mail").live('click', selItem_mail);
    $(".proyProyectado").live('click', selItem_Proyectado);
    $(".referenciasCheck").live('click', selItem_Referencias);
    $(".proyProyectado").live('click', selItem_Proyectado_2);
    $(".proyCheck_unidad").live('click', selItem_Unidad);
    $(".proyCheck_unidad_firma").live('click', selItem_FirmaDocu);
    $(".proyFechaTiempoRespuesta").live('click', selItem_FechaLimite);
    $("#cmbTipoMemo").change(vaciarcombo);
    permisos_Y_ObtenerTipoTrabajadorEpsGrau();
    cargarDatosDesdeUrl();
    cargarComponentesHtml();
    reset_Tamanio_Archivo();
    $("#dv_flex_empresa").show();
    include("js/formularios/documentos_genericos/cargarDatosDesdeUrl.js");
});
function selItem_Referencias(){
    if(!$("#chkRefencias").is(':checked')==true){
        $("#dv_referencias").hide();
        $("#dv_qien_make").html("");
        $("#dv_codigos_directivas").html("");
    }else{
        $("#dv_referencias").show();
    }
    guardarDialog();
}
function selItem_Proyectado_2(){
    if(!$("#chkProyect").is(':checked')==true){
        $("#dv_buscar_firma").hide();
        vaciarUnidades();
        cargarDataEnCombo();
    }else{
        $("#dv_buscar_firma").show();
    }
}
function cargarComponentesHtml(){
    $("#dv_tiempo_respuesta").hide();
    $("#dv_buscar_unidades").hide();
    $("#dv_subir_archivo").hide();
    $("#dv_flex_empresa").hide();
    $("#dv_message_empresa").hide();
    $("#dv_referencias").hide();
}

function limpiarCampos(){
    $("#txt_asunto").val("");
    $("#txt_fecha_rpt").val("");
    $.wymeditors(0).html("");// para limpiar
    eliminarValoresDeArray(mail_usuario);
    eliminarValoresDeArray(mail_usuario_codigo);
    eliminarValoresDeArray(persona_empresa);
    eliminarValoresDeArray(persona_empresa_cargo);
    eliminarValoresDeArray(persona_empresa_profesion);
    eliminarValoresDeArray(documento_codigo);
    eliminarValoresDeArray(documento_nombre);
    eliminarValoresDeArray(unidad_codigo);
    eliminarValoresDeArray(unidad_nombre);
    eliminarValoresDeArray(unidad_direct);
    guardarDialog();
    guardarDialogDocu();
    guardarDialogMail();
}
function cargarFlexUnidades(){
    $("#flexUnidades").flexigrid({
	url: Url_Sistema[0]+"?opt=13&dsaddgfsdgdfhfddasg5wdfsdfdf="+codigo_directiva_usuario,
	dataType: 'json',
	colModel : [
		{display: '<b>Codigo Área</b>', name : 'codigo_area', width : 70, sortable : false, align: 'center'},
		{display: '<b>Nombre Área</b>', name : 'nombre', width : 315, sortable : false, align: 'left'},
		{display: '<b>Codigo Directiva</b>', name : 'codig_directiva', width : 90, sortable : false, align: 'center'},
		{display: '<b>Seleccionar</b>', name : 'opciones', width : 70, sortable : false, align: 'center'}
		],
	field_find: "NOMBRE ÁREA: ",
	sortname: "codigo",
	sortorder: "asc",
	usepager: true,
	title: 'UNIDADES ORGÁNICAS DE EPS-GRAU S.A.',
	useRp: true,
	rp: 10,
	showTableToggleBtn: false,
	width: 595,
	height: 305
    });
}
function cargarFlexEmail(){
    $("#flexTrabajadmail").flexigrid({
	url: Url_Sistema[1]+"?opt=7",
	dataType: 'json',
	colModel : [
		{display: '<b>Codigo Área / Dni</b>', name : 'codigo', width : 100, sortable : false, align: 'left'},
		{display: '<b>Área / Nombres</b>', name : 'nombres', width : 280, sortable : false, align: 'left'},
		{display: '<b>Correo Electrónico</b>', name : 'correo', width : 170, sortable : false, align: 'left'},
		{display: '<b>Seleccionar</b>', name : 'opciones', width : 100, sortable : false, align: 'left'}
		],
	field_find: "ÁREA O NOMBRES: ",
	sortname: "codigo",
	sortorder: "asc",
	usepager: true,
	title: 'TRABAJADORES DE EPS-GRAU S.A.',
	useRp: true,
	rp: 10,
	showTableToggleBtn: false,
	width: 700,
	height: 350
    });
}
function cargarFlexTrabaj(){
    $("#flexTrabajad").flexigrid({
	url: Url_Sistema[0]+"?opt=12",
	dataType: 'json',
	colModel : [
		{display: '<b>Razón Social</b>', name : 'razon_social', width : 250, sortable : false, align: 'left'},
		{display: '<b>Dirección</b>', name : 'direccion', width : 250, sortable : false, align: 'left'},
		{display: '<b>Seleccionar</b>', name : 'opciones', width : 90, sortable : false, align: 'center'}
		],
	field_find: "NOMBRE DE EMPRESA: ",
	sortname: "codigo",
	sortorder: "asc",
	usepager: true,
	title: 'BÚSQUEDA DE EMPRESAS',
	useRp: true,
	rp: 10,
	showTableToggleBtn: false,
	width: 630,
	height: 310
    });
}
function cargarFlexTrabajParaFirma(){
    $("#flexFirma").flexigrid({
	url: Url_Sistema[0]+"?opt=13&dasfhjr24546qfdsfdsf=20",
	dataType: 'json',
	colModel : [
		{display: '<b>Codigo Área</b>', name : 'codigo_area', width : 60, sortable : false, align: 'center'},
		{display: '<b>Nombre Área</b>', name : 'nombre', width : 315, sortable : false, align: 'left'},
		{display: '<b>Responsable</b>', name : 'jefe', width : 200, sortable : false, align: 'left'},
		{display: '<b>Codigo Directiva</b>', name : 'codig_directiva', width : 80, sortable : false, align: 'center'},
		{display: '<b>Seleccionar</b>', name : 'opciones', width : 70, sortable : false, align: 'center'}
		],
	field_find: "BUSCAR UNIDAD ORGÁNICA: ",
	sortname: "codigo",
	sortorder: "asc",
	usepager: true,
	title: 'UNIDADES ORGÁNICAS DE EPS-GRAU S.A.',
	useRp: true,
	rp: 10,
	showTableToggleBtn: false,
	width: 790,
	height: 305
    });
}
function cargarFlexDocument(){
    $("#flexDocumento").flexigrid({
	url: Url_Sistema[2]+"?opt=2",
	dataType: 'json',
	colModel : [
		{display: '<b>Cabecera</b>', name : 'cabecera', width : 250, sortable : false, align: 'left'},
		{display: '<b>Asunto</b>', name : 'asunto', width : 400, sortable : false, align: 'left'},
		{display: '<b>Seleccionar</b>', name : 'opciones', width : 80, sortable : false, align: 'left'}
		],
	field_find: "BUSCAR POR ASUNTO: ",
	sortname: "codigo",
	sortorder: "asc",
	usepager: true,
	title: 'LISTADO DE DOCUMENTOS',
	useRp: true,
	rp: 10,
	showTableToggleBtn: false,
	width: 770,
	height: 350
    });
}

function getData(array){
    var rr = "";
    for(i=0; i<array.length; i++){
        rr+=array[i]+";";
    }
    return rr;
}
function getDataRef(array){
    var rr = "";
    for(i=0; i<array.length; i++){
        rr+=" |"+persona_empresa_profesion+" |"+persona_empresa_nombres[i]+"|"+persona_empresa_cargo[i]+"|;";
    }
    return rr;
}
function getUnidades(){
    var rr = "";
    for(i=0; i<unidad_codigo.length; i++){
        rr+=unidad_nombre[i]+";";
    }
    return rr;
}
function getDataMil(){
    var rr = "";
    for(i=0; i<mail_usuario.length; i++){
        rr+=mail_usuario[i]+",";
    }
    return rr;
}
function guardarMemorando(){
    if(validarMemorando_O()){
        jConfirm("DESEAS "+((codigo_largo.length==0 || getUrlVars()["request_operacion"]=="new_with_reference")?"GENERAR":"MODIFICAR")+" CARTA?", 'Mensaje del Sistema', function(r) {
            var tip = $("#cmbTipoMemo").val();
            var as = $("#txt_asunto").val();
            var cnt = $("#dv_txt_contenido").elrte('val');
            var ref = getData(documento_codigo);
            var fec = $("#txt_fecha_rpt").val();
            var dsn = getDataRef(persona_empresa);
            var cop = getData(mail_usuario_informacion);
            var frma = firma_informacion.toString();
            var unidades = getUnidades();
            if (r) {
                cargarLoad();
                $.getJSON(Url_Sistema[2], {
                    opt: 1 ,
                    oihgfdsadada:tip,
                    dsadafsdfafadsadsa:cop,
                    dasdadas:as,
                    vfdsgdfg:cnt,
                    ewqeqe:dsn,
                    xzcsdfsdf:ref,
                    wqewqdfsfsd: fec,
                    vfdsgdfgdasddgsfds:'',
                    vfdsgdfgdasddgsfds_32143:unidades,
                    dsdasdavfdsgdfgdasddgsfds_32143:frma,
                    fadfdsfsdfadsa:codigo_documento,
                    fadfdsfsdfadsae1e21312321:codigo_largo
                }, function(data){
                    if(data.success){
                        var mensajeDesdeServidor = data.datos;
                        var arr_for_encrip = mensajeDesdeServidor.split("#");
                        var messageProceso = arr_for_encrip[0];
                        jAlert(messageProceso);
                        
                        visualizarFlash(arr_for_encrip[1]);
                        limpiarFormularioRegistro();
                        pausarLoad();

                        //------------------------------------
                        if($("#chkProyectFile").is(':checked')){
                            $.getJSON("6c19f7c2de67a9b80f3e0107b35313a5", {
                               jhfdfgsdfsfs:'E',
                               fadfdsfsdfadsa:arr_for_encrip[0]+"_D"
                            },function(data){
                            });
                        }
                        //------------------------------------
                        if(!$("#chkProyect").is(':checked')){
                            $.getJSON(Url_Sistema[2], {
                               opt:5,
                               dsagsiuoqwppeiuasgfdsfa:getDataMil(),
                               fadfdsfsdfadsa:val,
                               dgdfgdghggf:as //Asunto
                            },function(data){
                            });
                        }
                    }else{
                        pausarLoad('');
                        var rpta = data.datos.split("-");
                        mostrarError(rpta[2]);
                    }
                });
            }
        });
    }
}
function visualizarFlash(val){
    var url = "6c19f7c2de67a9b80f3e0107b35313a5?fadfdsfsdfadsa="+val;
    $("#linkVisualizar").html("<a class='button' target='_blank' href="+url+"> <span>Visualizar</span></a>"+
                              "<a class='button' href='carta_man.htm'> <span>Nuevo Documento</span></a>");
}
function mostraDialogo_Usuario(){
    $("#dlgPrueba").dialog({
        width: 700,
        high: 600,
        modal: true,
        resizable: false,
        position: 'top',
        buttons: {
            Guardar: guardarDialog,
            Salir: salirDialogMin
        }
    });
    llenarSelector(persona_empresa);
    cargarFlexTrabaj();
    $("#flexTrabajad").flexOptions({newp:1}).flexReload();
}
function mostraDialogo_Unidades(){
    $("#dlgUnidades").dialog({
        width: 650,
        high: 500,
        modal: true,
        resizable: false,
        position: 'top',
        buttons: {
            Guardar: guardarUnidades,
            Salir: salirDialogMin
        }
    });
    llenarSelector(unidad_codigo);
    $("#flexUnidades").flexOptions({newp:1}).flexReload();
    cargarFlexUnidades();
}
function guardarUnidades(){
    salirDialogMin();
    muestra_quien_firma();
}
function mostraDialogo_UsuarioMail(){
    $("#dlgTrabajadorMail").dialog({
        width: 800,
        high: 600,
        modal: true,
        resizable: false,
        position: 'top',
        buttons: {
            Guardar: guardarDialogMail,
            Salir: salirDialogMin
        }
    });
    llenarSelector(mail_usuario_codigo);
    cargarFlexEmail();
    $("#flexTrabajadmail").flexOptions({newp:1}).flexReload();
}
function mostraDialogo_Documento(){
    $("#dlgReferencia").dialog({
        width: 850,
        high: 600,
        modal: true,
        resizable: false,
        position: 'top',
        buttons: {
            Guardar: guardarDialogDocu,
            Salir: salirDialogMin
        }
    });
    llenarSelector(documento_codigo);
    cargarFlexDocument();
    $("#flexDocumento").flexOptions({newp:1}).flexReload();
}
var name_cargo ;
function selItem(){
    var tipo_usuario = this.getAttribute("checktipo_usuario_area");
    var area_usuario = this.getAttribute("checkcodigo_area");
    var can_check = puedeSeleccionarEseUsuario(tipo_usuario,area_usuario);
    if(can_check){
        var check_codigo = this.getAttribute("empcheck_codigo");
        var check_direccion = this.getAttribute("empcheck_direcc");
        var check_razon = this.getAttribute("empcheck_razon");
        var check_telefono = this.getAttribute("empcheck_telefono");
        var check_fax = this.getAttribute("empcheck_fax");
        if ($(this).is(':checked')){
            if(persona_empresa.length>=1){
                $(this).attr('checked', false);
                jAlert(mensajes_sistema[11]);
                return;
            }
            name_cargo = $("#txt_cargo_persona").val();
            persona_empresa.push(check_codigo);
            $("#txt_cargo_persona").val($("#txt_cargo_persona").val()+check_razon+"\n"+check_direccion+"\nTeléfono:"+check_telefono+",Fax:"+check_fax);

            $("#dv_message_empresa").html(check_razon+" - "+check_direccion);
            $("#dv_message_empresa").fadeIn(2000, callback);
        }else{
            $("#txt_cargo_persona").val(name_cargo);
            var posi = jQuery.inArray(check_codigo, persona_empresa);
            persona_empresa.splice(posi,1);
            $("#dv_message_empresa").fadeOut(200, callback);
        }
    }else{
        $(this).attr('checked', false);
    }

    llenarSelector(persona_empresa);
}
function selItem_docu(){
    var check_codigo = this.getAttribute("docucheck_codigo");
    var check_nombre = this.getAttribute("docucheck_nombre");
    if ($(this).is(':checked')){
        documento_nombre.push(check_nombre);
        documento_codigo.push(check_codigo);
    }else{
        var posi = jQuery.inArray(check_codigo, documento_codigo);
        documento_nombre.splice(posi,1);
        documento_codigo.splice(posi,1);
    }
    llenarSelector(documento_codigo);
}
function selItem_mail(){
    var check_mail_codigo = this.getAttribute("checkcodigo");
    var check_mail = this.getAttribute("checkmail");
    var check_nombre = this.getAttribute("checknombre");
    if ($(this).is(':checked')){
        mail_usuario.push(check_mail);
        mail_usuario_codigo.push(check_mail_codigo);
        mail_usuario_informacion.push(check_mail_codigo+"|"+check_nombre+"|"+check_mail+"|");
    }else{
        var posi = jQuery.inArray(check_mail_codigo, mail_usuario_codigo);
        mail_usuario.splice(posi,1);
        mail_usuario_codigo.splice(posi,1);
        mail_usuario_informacion.splice(posi,1);
    }
    llenarSelector(mail_usuario_codigo);
}
function selItem_Unidad(){
    var check_codigo_dir = this.getAttribute("check_coddir");
    var check_codigo = this.getAttribute("check_codare");
    var check_nomb = this.getAttribute("check_nomconc");
    if ($(this).is(':checked')){
        unidad_codigo.push(check_codigo);
        unidad_direct.push(check_codigo_dir);
        unidad_nombre.push(check_nomb);
    }else{
        var posi = jQuery.inArray(check_codigo, unidad_codigo);
        unidad_codigo.splice(posi,1);
        unidad_direct.splice(posi,1);
        unidad_nombre.splice(posi,1);
    }
    construirDivDirectiva();
    llenarSelector(unidad_codigo);
}
function selItem_FirmaDocu(){
    var check_codigo = this.getAttribute("checkcodigo");
    var check_codigo_unidad = this.getAttribute("check_codare");
    var check_codigo_directiva = this.getAttribute("check_coddir");
    var check_profesion_unidad = this.getAttribute("check_jefe")+check_codigo_directiva+"|";
    var check_codigo_tipo_usuario = this.getAttribute("check_jefe_tipo_usuario");

    if ($(this).is(':checked')){
        if(firma_codigo.length>=1){
            $(this).attr('checked', false);
            jAlert(mensajes_sistema[9]+"\n<b>"+(firma_informacion[0].split("|")[1])+"</b>");
            return;
        }
        firma_codigo.push(check_codigo_unidad);
        firma_informacion.push(check_profesion_unidad);
        firma_tipo_usuario.push(check_codigo_tipo_usuario);
    }else{
        var posi = jQuery.inArray(check_codigo, firma_codigo);
        firma_codigo.splice(posi,1);
        firma_informacion.splice(posi,1);
        firma_tipo_usuario.splice(posi,1);
    }
    llenarSelector(firma_codigo);
}
function loadDialogFirma(){
    $("#dlgFirmaDocumento").dialog({
        width: 850,
        high: 600,
        modal: true,
        resizable: false,
        position: 'top',
        buttons: {
            Guardar: guardarUnidades,
            Salir: salirDialogMin
        }
    });
    llenarSelector(firma_codigo);
    cargarFlexTrabajParaFirma();
    $("#flexFirma").flexOptions({newp:1}).flexReload();
}
function construirDivDirectiva(){
    $("#dv_codigos_directivas").html("");
    var dat = "";
    for(i=0; i<unidad_codigo.length; i++){
        dat+=unidad_direct[i]+"-";
    }
    $("#dv_codigos_directivas").html(dat);
}
function selItem_FechaLimite(){
    if(!$("#chkFecha").is(':checked')){
        $("#dv_tiempo_respuesta").hide();
        return;
    }
    $("#txt_fecha_rpt").val("");
    $("#dv_tiempo_respuesta").show();
}
function vaciarcombo(){
    while(persona_empresa.length>0){
        persona_empresa.splice(0,1);
        persona_empresa_cargo.splice(0,1);
        persona_empresa_nombres.splice(0,1);
    }
}
function guardarDialogMail(){
    var html = "";
    for(i=0; i<mail_usuario_codigo.length; i++){
        html+=mail_usuario[i]+", ";
    }
    $("#dv_mail_trabaj").html(html);
    salirDialogMin();
}
function guardarDialog(){
    persona_empresa_nombres.push($("#txt_name_persona").val());
    persona_empresa_profesion.push($("#txt_profesion_persona").val());
    var html = "<table>";
    for(i=0; i<persona_empresa.length; i++){
        persona_empresa_cargo[i] = $("#txt_cargo_persona").val();
        html+="<tr><td>"+$("#txt_name_persona").val().toUpperCase()+"</td></tr>";
        html+="<tr><td>"+$("#txt_profesion_persona").val().toUpperCase()+"</td></tr>";
        html+="<tr><td>"+$("#txt_cargo_persona").val().toUpperCase()+"</td></tr>";
    }
    html = html+ "<table>";
    $("#dv_destin").html(html);
    salirDialogMin();
}
function guardarDialogDocu(){
    var html = "<table>";
    for(i=0; i<documento_nombre.length; i++){
        html+="<tr>";
        html = html+"<td><b>"+(i+1)+".- </b>\t\t"+documento_nombre[i]+"</td>";
        html+="</tr>";
    }
    html = html+ "<table>";
    $("#dv_docum").html(html);
    salirDialogMin();
}
function muestra_quien_firma(){
    $("#dv_qien_make").html("");
    var dat = "";
    for(i=0; i<unidad_codigo.length; i++){
        dat+=unidad_direct[i]+"-";
    }


    var datas = $("#dv_qien_make").html();
    if(firma_informacion.length!=0){
        $("#dv_qien_make").html(datas+"\n"+obtenerDatoDeFirma(firma_informacion[0]));
    }

    $("#dv_qien_make").show();
    salirDialogMin()

}
function salirDialogMin(){
    $("#dlgPrueba").dialog("close");
    $("#dlgUnidades").dialog("close");
    $("#dlgReferencia").dialog("close");
    $("#dlgTrabajadorMail").dialog("close");
    $("#dlgFirmaDocumento").dialog("close");
    $("#dlgDetalleArchivos").dialog("close");
    $("#dv_agrega_referencias").dialog("close");
    limpiarSelector();
}
function buscarEmpresa(){
    validarProyectado()?mostraDialogo_Usuario():"";
}
function buscarDocumento(){
    mostraDialogo_Documento();
}
function buscarTrabajadorEmail(){
    mostraDialogo_UsuarioMail();
}
function limpiarSelector(){
    $("#CodigosSelec").val("");
}
function llenarSelector(array){
    $("#CodigosSelec").val(array.toString());
}
function vaciarUnidades(){
    while(unidad_codigo.length>0){
        unidad_codigo.splice(0,1);
        unidad_nombre.splice(0,1);
        unidad_direct.splice(0,1);
    }
    eliminarValoresDeArray(firma_codigo);
    eliminarValoresDeArray(firma_informacion);
}
function buscarEmpresaDiv(){
}